package string;

public class StringBuilderDemo1 {
    public static void main(String[] args) {
        String str = "好好学习java";
        //创建StringBuilder常见的构造器
       // StringBuilder builder = new StringBuilder();内部默认表示一个空白字符串
        StringBuilder builder = new StringBuilder(str);
        /*
        增
        好好学习java
        增为
        好好学习java,为了找个好工作！
         */
        builder.append(",为了找个好工作!");
        System.out.println(str);//String是不变对象，内容没有发生改变
        System.out.println(builder);//改变的是StringBuilder内部字符串内容
        /*
        改
        好好学习java,为了找个好工作！
        改为
        好好学习java,就是为了改变世界！

         */
        //将builder内部字符串从下标9开始到16（不含）的内容替换为给定的字符串
        builder.replace(9,16,"就是为了改变世界");
        System.out.println(builder);

        /*
            删
            好好学习java,就是为了改变世界！

            ,就是为了改变世界！

         */
        builder.delete(0,8);
        System.out.println(builder);

        /*
            插
            ,就是为了改变世界！

            活着，就是为了改变世界！
         */
        //将给定内容插入到指定位置
        builder.insert(0,"活着");
        System.out.println(builder);

        //反转字符串内容
        builder.reverse();
        System.out.println(builder);
        /*
            StringBuilder只是修改字符串的工具类，并非String本身。
            当使用StringBuilder修改内容后，可以调用toString方法得到内部的字符串内容。
         */
        String line = builder.toString();
        System.out.println(line);

    }
}
